#coding=utf-8
# Copyright 2012 Kirill Gagarski <gagarin.gtn@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 3 or any later version.
import curses

class ColorScheme:
    """Класс цветовой схемы.
    Модифицировать схему можно прямо присваиванием членов класса"""
    def __init__(self):
        """
        Конструктор класса
        """
        self.selected = 1
        self.selected_inv = 1
        self.modified = 1
        self.unknown = 1
        self.ignored = 1
        self.added = 1
        if curses.has_colors():
            curses.start_color()
            self.__has_colors = True
            curses.use_default_colors()
            curses.init_pair(1, -1, -1)
            # Цветовые пары для выделения
            curses.init_pair(2, curses.COLOR_YELLOW, -1)
            curses.init_pair(3, -1, curses.COLOR_YELLOW)
            # Цветовые пары для модифицированных файлов
            curses.init_pair(4, curses.COLOR_RED, -1)
            curses.init_pair(5, -1, curses.COLOR_RED)
            # Цветовые пары для неизвестных файлов
            curses.init_pair(6, curses.COLOR_CYAN, -1)
            curses.init_pair(7, -1, curses.COLOR_CYAN)
            # Цветовые пары для игнорируемых файлов
            curses.init_pair(8, curses.COLOR_BLUE, -1)
            curses.init_pair(9, -1, curses.COLOR_BLUE)
            # Цветовые пары для добавленых файлов
            curses.init_pair(10, curses.COLOR_GREEN, -1)
            curses.init_pair(11, -1, curses.COLOR_GREEN)

            self.selected = curses.color_pair(2) #attr1
            self.selected_inv = curses.color_pair(3) #attr2
            self.modified = curses.color_pair(4) #attr3
            self.unknown = curses.color_pair(6) #attr4
            self.ignored = curses.color_pair(8) #attr5
            self.added = curses.color_pair(10) #attr6

            self.removed_line = curses.color_pair(5)
            self.inserted_line = curses.color_pair(11)
            self.changed_line = curses.color_pair(9)
